Geographical web browser, methods, apparatus and systems

ABSTRACT

A geographical web browser allows a user to navigate a network application such as the Word Wide Web by physically navigating in geographical coordinates. For example, a geographical web browser is implemented in a mobile unit such as a dashboard computer. The mobile unit includes one or more transducers such as antennas and is operative to receive locally broadcast signals or to operate a global positioning system (GPS) receiver. As the mobile unit navigates into different physical localities, different web pages are displayed by the geographical web browser. For example, a user desiring to buy a house can set the web browser to a real estate web page. Instead of clicking on a hyperlink to access web pages of properties in an area, the user drives into a first area and automatically receives web pages relating to homes in that area. When the mobile unit crosses town and enters a second area, a new set of web pages is downloaded relating to properties in the second area. The geographical web browser, methods, apparatus and systems disclosed herein enable improved road-navigation and traffic management, advertisement, and related services.

BACKGROUND OF THE INVENTION

2. Field of the Invention

This invention relates generally to mobile data networks. Moreparticularly, the invention relates to a network application programsuch as a web browser which allows a user to navigate a set of networkweb pages based on a user's location and the setting of one or moreauxiliary control parameters.

2. Description of the Related Art

The concept of providing a local broadcast domain through which a mobileunit passes is well known. For example, when on a cross-country trip, anautomobile passes through various areas of FM radio coverage. In the artof cellular communications it has become common practice to reduce thesize of a given broadcast domain. This allows frequencies to beefficiently reused. In spread spectrum communications, it is alsorecognized that multiple users may share frequency within a small-areabroadcast domain using differently encoded waveforms for differentusers. Companies such as Nokia Inc. have proposed systems wherebyinformation is broadcast to mobile subscribers within atelecommunications cell. In some envisioned methods, this broadcastinformation is accessible from a network application such as a webbrowser. A mobile subscriber is able to click on an icon and view, forexample, restaurants located in the vicinity of the telecommunicationscell occupied by the mobile subscriber.

Recently systems have been introduced whereby a mobile unit such as anautomobile passes through a series of very small broadcast domains. Eachbroadcast domain is called a “picocell”. For example, as a mobile userin an automobile travels along a road, the automobile encounters asequence of network air-interface transceivers that are mounted ontelephone poles and periodically placed along the roadside. The vehiclecan maintain a network connection by accessing the nearest air interfaceat any given time. Similar picocell based systems allow a user walkingthrough a building or campus environment to stay connected to a wirelesslocal area network (LAN). The term “air interface” is used in the art tomean a set of physical layer protocols used to communicate informationvia radio and other forms of wireless connections.

Data networks are also available whereby a mobile unit maintains awireless network connection with a central server. For example, cellulardigital packet data (CDPD), Internet packet Data Network (IPDN) andrelated technologies exist to allow a mobile unit to interact with anapplication such as a database. In other systems, radio frequency (RF)modems allow a mobile unit to maintain a network connection to stayconnected to the Internet or some other type of network. For example,Global System Mobile (GSM) and Personal Communication Systems (PCS)technologies also allow wireless data connections to be established.Pico-cell based systems also provide wireless networks for similar usewithin buildings and campus environments.

A co-pending application, Ser. No. #09/167,698 by Eric M. Dowling andMark N. Anastasi is incorporated herein by reference and is referred toas the “Dowling reference” hereinafter. In the Dowling reference, amethod is disclosed to allow a mobile unit to maintain a virtual sessionwith a central server. In a virtual session, an application layerprogram maintains a communication session in the absence of a physicalcommunication path. When the session is inactive, no communication pathexists. When data needs to be communicated, a physical connection isautomatically established. This allows a remote unit to maintain apresence with a central server using, for example, a cellularconnection. The virtual session only establishes the cellular connectionwhen it is actually being used for network communications. In thecontext of the present disclosure, the “remote unit” as defined in theDowling reference is termed a “mobile unit.” In a virtual-session basedsystem, the mobile unit uses a cellular connection to maintain a virtualsession with a network server attached to a network. The mobile unitruns an application program such as a web browser to communicate with aweb site, an Internet site, an intranet site or other applicationprogram provided by the network server. Only when the user is activelyselecting a link or downloading information is a physical communicationpath established to support the virtual session.

Another known technology is the global positioning system (GPS). GPSreceivers use telemetry information broadcast form satellites tocalculate a set of grid coordinates to provide positional information. Amobile unit equipped with a GPS receiver can thereby maintain a fix onits geographical position.

Systems have been introduced by several automobile manufacturers thatuse a GPS receiver to control the display of digital map information inautomobiles. The map data includes locations of various types ofbusiness establishments. The map and business establishment data forthese systems is stored in a PROM or EPROM memory. Typically thesestorage devices contain data pertinent to one state. In order to updatethis data the owner of the vehicle must return to the dealer once a yearto have change the PROM or reprogram the EPROM. A traveler wishing totravel between states must purchase additional memory modules programmedwith data for the states to be traveled in advance of an out-of-statetrip. While the aforementioned technologies provide valuable servicesand capabilities, these systems are lacking in various ways. Forexample, consumer radio broadcast technology still uses large broadcastdomains such as AM and FM radio stations. While next generation systemshave been proposed that will effectively broadcast information such aslocal advertisements and service announcements to vehicles orpedestrians passing through a telecommunications cell, small locality,no technology exists to provide local broadcast information toautomatically control a network application such as a web browser byselectively filtering broadcast information using a packet filter.Current approaches require a user to select an icon or navigate abrowser application via conventional means to access informationspecific to a local area. Also, systems do not exist which allowinformation processed by a GPS receiver to control the flow ofinformation on a network connection with a server. For example, no webbrowsers exist which process GPS transmissions to determine geographicalposition, and use this geographical position information to control whatweb pages are displayed by the browser. Likewise, no systems exist whichaccept locally broadcast transmissions such as from a local telephonepole and use this information to control information displayed by theweb browser.

It would be desirable to have a system that could provide a user with ameans to receive information from a first connection to a network basedon the user's position. It would be desirable to allow an applicationsuch as a web browser to control a flow of information comprising webpages based on a locally received broadcast. It also would be desirableto allow an application such as a web browser to control the flow of webpages based on processed GPS data. It would be desirable to have amobile unit that could receive one or more transmissions via a secondconnection and then generate a request packet on a first connection tonavigate an application program such as a web browser. It also would bedesirable to have a network server that is operative to receive requestpackets that are generated based on information received from thesetransmissions.

Systems currently envisioned by telecommunication firms rely on theknowledge of the user's operating wireless cell. As a position orlocation measurement system, this knowledge is coarse. Further, as ameans for regulating pertinent information, reliance solely on cell datais limiting. Cell coordinates are too coarse to allow data such asdirection of travel, speed of travel, etc to be used to predict items ofinterest to the user. It would therefore be desirable to base broadcastcontent on detailed user information including, but not limited to, pastand present GPS location data.

For certain applications it would be desirable to be able to effectivelyuse a relatively small broadcast domain to produce an “electronic sign.”As defined herein, an “electronic sign” involves a system whereby atransmitter broadcasts one or more data packets to be received by amobile unit as carried by a vehicle or a pedestrian. For example,instead of a passenger looking out of a window to see a billboard, thepassenger looks at a computer display screen associated with a dashboardcomputer device within the vehicle. Alternatively it would also bedesirable to make use of the relatively small broadcast domain toproduce an “indirect electronic sign.” As is also defined herein, an“indirect electronic sign” involves a system whereby a transmitterbroadcasts at least one data packet to the mobile unit that thenextracts information from the packet and uses it to access an associatedweb page. In such a system, it would be desirable to download the webpages from the server using the first network connection which ispreferably a CDPD connection or a virtual session connection. Moreover,it would be desirable for the mobile unit to be able to supply a filterparameter to allow locally received broadcast packets to be selectivelyrejected (e.g. based on content or subject matter) and thereby not alterthe web page displayed by the mobile unit

Currently in cities and on major highways there are deployed updateablebillboard sized displays that are used to inform drivers of upcomingtraffic and road conditions. This information may potentially addconvenience to the drivers and allow the roadway to be better utilizedmore efficiently. For example, a large, updateable billboard sizeddisplay can inform drivers of an accident on the roadway ahead. Thisinformation is used to prompt lane selection or alternate routeselection. However, the information contained on these displays islimited in amount, and allows no dialogue or multilevel queries. Itwould therefore be desirable to have a display system capable ofdisplaying detailed information in a structured manner to allow fornavigation, route planning and advanced traffic management.

In other applications it would be desirable to update a large memorydevice within the mobile unit with current information directly from thenetwork without the need to change memory modules or reprogram memorymodules. These on-board memory devices could then be accessed forinformation without the necessity to access an internet connection. Itwould thus be desirable to be able to update this stored information bydownloading information from the Internet or some other convenient andaccessible network.

SUMMARY OF THE INVENTION

The present invention solves these and other problems by providingsystems and methods to enable a mobile unit to maintain a first networkconnection with a central server and to control information flow on thisconnection using information received on an auxiliary channel. In oneexample, a mobile unit travels along a road and is exposed to aplurality of locally broadcast packets as the mobile unit enters into alocal broadcast domain. A local broadcast domain includes the range of atransmitter that broadcasts data packets to mobile units within thisrange. When a packet of interest is received, information isautomatically transferred via the first network connection and a webpage or related application information is thereby accessed. Instead ofthe user needing to click upon a hyperlink to access a web site, apacket filter is configured to selectively pass packets according to apredefined criterion. When a packet passes through the packet filter, aweb site is automatically accessed.

Because the received packet is transmitted from within a local broadcastdomain, this packet carries with it geographically related information.For example, if a geographical web browser according to the presentinvention is currently set to a “movies” Internet site, when the mobileunit passes into an area with several movie theaters, the passed packetwill include a pointer to the associated movie theaters' web pages. Insome systems the web pages will be automatically downloaded into abuffer within the mobile unit, while in other systems a set ofhyperlinks to these local theaters will appear.

In another aspect of the present invention, the mobile unit alsomaintains the network connection, but derives geographical informationfrom a GPS receiver. The network connection preferably is an Internetconnection or a connection to a central server such as a databaseserver. GPS information is received and processed in the GPS receiver.Periodically, processed GPS information may be transmitted via themobile network connection to the network server. When this processed GPSinformation is received, the network server is operative to control theflow of information to the mobile unit based upon the processed GPSinformation. In some embodiments the mobile unit maintains a list oflocal sites and sends information to the server based on a configurationparameter. This information may be specific to the requested areas ofinterest or it may contain a complete update to the mobile unit'sdatabase.

The mobile unit is thereby able to navigate the Internet based on themobile unit's geographical position in addition to prior art methodsemploying mouse and keyboard inputs. When a virtual connection is beingused, GPS information need only be transmitted at pre-specifiedintervals or upon the detection of pre-specified events. For example, afilter is preferably employed to cause the network connection to only beactivated when the mobile unit enters a locality associated with a website of interest. For example, a hungry user entering a new city isinterested in seeing web pages for local restaurants. Based upon the GPSposition indication a list of restaurants in surrounding localities isdownloaded into a memory of the mobile unit. When the GPS receiverindicates the mobile unit is in a designated locality, web pages forthose restaurants in the local area are downloaded or retrieved frommemory and displayed.

The present invention provides a means for a user to “surf the web” orotherwise navigate a network application program based on geographicallyrelated information such as locally broadcast packets and GPSinformation. One or more filter parameters are used to screeninformation of interest to a user. A set of information deemed to be ofinterest to a user is called an “information class.”

The present invention also enables a road-navigation or trafficmanagement system. For example, the user maintains a virtual connectionto a central server that provides real-time best-route informationthrough a navigation or traffic management web page. A plurality ofsensors measures road conditions based on vehicle speeds as measured bysensors such as laser or infrared continuity sensors dispersed along theroadways. Additionally, special traffic data is monitored, or manuallyentered, including weather advisories, accident locations and effectsand special event locations and effects. The central server therebykeeps track of road conditions and is able to display such informationand to assign “costs” to route segments. The mobile unit stays virtuallyconnected to the navigation web page and is updated with digital mapsindicating the best current route leading from the mobile unit's currentposition to a selected destination.

BRIEF DESCRIPTION OF THE FIGURES

The various novel features of the present invention are illustrated inthe figures listed below and described in the detailed description thatfollows.

FIG. 1 is a block diagram representing an embodiment of a systeminvolving a mobile unit passing through a locality and maintaining anetwork connection.

FIG. 2 is a block diagram illustrating the architecture of a mobile unitdesigned in accordance with the present invention.

FIG. 3 is a flow chart illustrating a method of processing carried outin a mobile unit to provide a geographically controlled client-sideapplication program.

FIG. 4 is a flow chart illustrating a method of processing carried outby a network server to provide a geographically controlled server-sideapplication program.

FIG. 5 a is a flow chart illustrating a method of processing carried outby a system comprising a mobile unit, a local broadcast domain entityand optionally a network server to support a geographically controlledclient-side application program in the mobile unit.

FIG. 5 b is a flow chart illustrating a method of processing carried outby a system comprising a mobile unit, a local broadcast domain entityand optionally a network server to provide customized information to themobile unit.

FIG. 6 is a flow chart illustrating a method of processing carried outbetween a mobile unit and a network server to provide road navigationand traffic management information to the mobile unit.

FIG. 7 is a block diagram representing an embodiment of the inventionapplied to traffic management applications.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a block diagram representing an illustrative embodiment 100 ofa system configuration used to support the present invention. A vehicle102 includes a mobile unit 105. The mobile unit 105 may be designedsimilarly to the remote unit in the Dowling reference. The architectureof the mobile unit 105 is also discussed in more detail in connectionwith FIG. 2.

The mobile unit 105 is connected to a first antenna 110 which is used tomaintain a first network connection 112. The first network connection112 is preferably a wireless network connection and may be implementedin several ways. For example the wireless network connection may employan air interface and protocol stack to interface with an IPDN, a CDPDnetwork, a wideband CDMA data network, or a virtual session orientednetwork. The antenna 110 is operatively coupled to an air interface andswitching module 115. In many applications, the air interface andswitching module 115 is provided by a telephone company which providesmobile communication services. In the illustrative embodiment 100, theair interface and switching module 115 is coupled via a communicationsinterface to a virtual session server 120. The virtual session server120 is discussed in more detail in the Dowling reference. In otherembodiments, the virtual session server 120 may be replaced with anyavailable network technology used to provide a network connection to amobile unit via an air interface. The virtual session server 120 ispreferably coupled to a network such as the Internet 122. A networkserver 125 is coupled to the virtual session server 120. The networkserver 125 may be co-located with and directly coupled to the virtualsession server 120 as an application program 130, or may be coupledacross a network such as the Internet 122 as shown in the illustrativeembodiment 100. That is, in any of the embodiments as discussed herein,the network server 125 may be optionally implemented as the applicationprogram 130.

A communication server 135 may also be coupled to the virtual sessionserver 120 to provide the mobile unit 105 with a virtual communicationpresence at the virtual session server 120. This allows calls and othercommunications received at the virtual session server 120 to beforwarded to the mobile unit 105. The communication server 135 is mostapplicable in systems where the mobile unit 105 and the virtual sessionserver 120 are entities within an enterprise, and the mobile unit 105needs to maintain a virtual presence with the enterprise computing andcommunications resources. Details of this type of operation aredescribed in the Dowling reference. The communications server 135 isoptional and may be omitted in some embodiments of the invention.

The mobile unit 105 is also optionally coupled to a satellite antenna140. This antenna, though depicted as a dish antenna, may be implementedwith other types of antennas. The satellite antenna 140 may be used toreceive satellite communications information. The satellite antenna 140may also be used to receive GPS transmissions. In some systems, thesatellite antenna 140 may be used to both receive and transmit satellitecommunications data and receive GPS transmissions.

The mobile unit 105 is also optionally coupled to a local broadcastdomain antenna 145. The local broadcast domain antenna is coupled toreceive locally broadcast transmissions from a local broadcast domainentity 150. The transmission from the local broadcast domain entity 150may emanate from a building, telephone pole, street light, store front,and the like. In terms of cellular communications technology, the localbroadcast domain entity 150 is similar to a picocell level communicationsystem. The local broadcast domain entity 150 may be optionallyconnected to a network such as the Internet 122 via a second connection113. In a preferred embodiment, the broadcast domain of the broadcastdomain entity 150 is defined by the range of a low-power radio frequencychannel. Depending on the system configuration, the range may vary fromas low as 50 feet to as high as a few miles. In some embodiments, thelow power radio channel is defined by a spread spectrum air interfacesuch as the one used by cordless phones or PCS systems.

The illustrative embodiment 100 shows a mobile unit 105 with a full setof communication channels. In other embodiments, only a subset of thesecommunication channels need be implemented. For example, in a simplestembodiment, only the local broadcast domain antenna 145 is implemented.This simple embodiment may be used to implement methods of processing asdiscussed in connection with FIG.'s 3, 5 a, and 5 b. Some aspects of thepresent invention require the mobile unit 105 to include the networkconnection antenna 110 and at least one of the local broadcast domainantenna 145 or the satellite antenna 140. In general, an “air-interfaceantenna” generically applies to any antenna used to maintain a networkconnection, receive satellite data, transmit local broadcast domaindata, receive local broadcast domain data, or perform other relatedair-interface functions.

The illustrative embodiment 100 may also be altered in other ways. Forexample, while three distinctly protruding antennas 110, 140, 145 areillustrated, these antennas may be combined into one and may be builtinto the body of the vehicle so that no actual antennas will be visibleas shown. Also, while the illustrative embodiment shows the mobile unit105 connected into a vehicle, the mobile unit 105 may equally beimplemented as a hand-held unit or in some other form convenient to theparticular use desired. The present invention may be implemented as adash-mounted vehicle computer or a hand-held unit such as a palm-pilot,a personal digital assistant or a laptop computer. Also, in some systemsthe antenna 110 may be used to implement both the network connection 112as well as the connection to the local broadcast domain entity 150. Insome systems the local broadcast domain entity 150 may be implemented asa part of the same cell site as used to provide the network connection112. In this type of embodiment, the cell site provides mobiletelecommunication services, network services, and local broadcastservices within the same cell. Layered systems whereby a cell siteprovides mobile telecommunication services to a cell coverage and thelocal broadcast domain entity provides broadcast services within apicocell are also contemplated by the system 100. FIG. 1 thus serves asa general background scenario to understand the context of the presentinvention. The operation of the illustrative embodiment 100 is discussedin more detail in connection with FIG.'s 2-6.

Referring now to FIG. 2, an embodiment of the mobile unit 105 is shown.This embodiment includes the mobile network connection antenna 110 andthe local broadcast domain antenna 145. A variation of the mobile unit105 will be discussed herein below whereby the local broadcast domainantenna 145 is replaced with the satellite antenna 140. Still anothervariation of the mobile unit 105 will be discussed which only employsthe local broadcast domain antenna 145. Yet another variation involves asystem where the antenna 110 is used for both the network connection 112and to communicate with the local broadcast domain entity 150. In suchsystems the local broadcast domain entity may be embodied by the sameequipment used to provide the network connection 112.

As illustrated in FIG. 2, the mobile unit 105 includes the networkconnection antenna 110 which is coupled to a first link interfacecontroller 200. The first link interface controller 200 is preferablyimplemented as a cellular or PCS transceiver capable of transferringdata traffic. The first link interface controller 200 provides aphysical layer air interface to support the first network connection112.

The first link interface controller 200 is coupled to a networkinterface module 205 which preferably implements one or more softwarelayers within a protocol stack and is able to receive and transmitpacket data. Protocol stacks are well known in the art, as is theconstruction of network interface equipment to implement a networkconnection. The network interface module 205 preferably includes avirtual session layer software module. The virtual session layersoftware module directs a physical layer network connection to beestablished only when it is needed as discussed in the Dowling referenceto reduce air-time costs. Other technologies and protocol stacks asimplemented in CDPD, GSM, PCS and wideband CDMA data networking systemsmay alternatively be employed within the first link interface controller200 and the network interface module 205. Some of these technologies maybe augmented with a virtual session server to establish and maintainvirtual sessions to achieve the same effect as a constant connection butat a greatly reduced cost due to saving on otherwise wasted airtime.

The network interface module 205 is coupled to a user input-outputdevice 210. The user input-output device is commonly implemented as adisplay with a mouse and/or keyboard input. Some embodiments make use ofother forms of input and/or output such as human speech. When humanspeech is used as an input, it is received via a microphone, digitized,and processed by a speech recognition circuit to produce a coded commandsignal representative of a user command.

The local broadcast domain antenna 145 is coupled to a second linkinterface controller 215. The second link controller 215 provides an airinterface to receive and possibly transmit data packets or other signalswithin a local broadcast domain. The second link interface controller215 preferably includes radio frequency circuits used to receive alocally broadcast data packet. Some embodiments may receive locallybroadcast data packets by means other than radio frequency. For exampledata may be locally broadcast using microwave or laser signals. In someembodiments, the second link controller 215 provides a physical layerradio connection to receive the locally broadcast data packet. Onepreferred embodiment implements the second link controller 215 as aspread spectrum transceiver in the 900 MHz range of frequencies. In analternative embodiment, the second link controller 215 is coupled to theantenna 110 and the second antenna 145 is not used. In this embodiment,the local broadcast domain entity 150 may be co-located with thetelecommunication cell's network equipment.

The second link controller 215 is coupled to a broadcast receptionmodule 220. The broadcast reception module preferably receives abaseband data signal from the second link controller 215 and performsframing operations to extract the broadcast information packettherefrom. The process of extracting a packet from a received bit streamis called formatting the data. In some applications the broadcastreception module also includes a transmit data path and the second linkcontroller 215 is able to transmit data packets. In these embodiments,the broadcast reception module 220 is more properly termed a “broadcasttransceiver module.”

The broadcast reception module 220 is coupled to provide the receivedand reconstructed data packet to the input of a packet filter 225. Thepacket filter 225 is preferably coupled to receive a packet-filterparameter from the network interface module 205 and/or the userinput-output device 210. Coupling to the network interface module 205allows the use of web pages to set the parameters for certain types offilters with minimal user intervention. The output of the packet filter225 is coupled to provide an input to the network interface module 205.In embodiments involving a GPS receiver, the packet filter 225 operatesas a control module and performs comparisons of GPS coordinateinformation with pre-specified boundary information.

A physical processing circuit as used to implement the mobile unit 105may be implemented in a variety of ways. The preferred way to implementthe mobile unit 105 is using a bus-oriented processor architecturewhereby a central processing unit is coupled to a memory via a bus.Likewise, the bus couples the central processing unit to peripheraldevices such as the user input-output device 210 and the first andsecond link controllers 200 and 215. The modules 205, 220, and 225 arethereby implemented in software and are controlled by a control program(not shown). Using this standard computer architectural approach, atimer may be used to generate interrupts at timed intervals in order tocontrol the sampling of inputs and the processing performed by thecentral processor unit. The mobile unit 105 may also be implemented, forexample, using custom or semi-custom logic blocks configured within anapplication specific circuit.

The mobile unit 105 is operative to maintain the first networkconnection 112 via the network connection antenna 110. Preferably, thefirst network connection 112 comprises a virtual session or another typeof intermittently used data network protocol such as the protocolemployed by a CDPD network. The mobile unit 105 preferably moves aboutin a geographic region, for example carried by the vehicle 102 movingabout in a city. As the mobile unit 105 enters the vicinity of the localbroadcast domain entity 150, a radio frequency signal is coupled ontothe local broadcast domain antenna 145. The local broadcast domainentity 150 is operative to transmit a broadcast-data packet. The secondlink controller 215 is operative to extract an information signal fromthe local broadcast domain antenna 145, and to supply the informationsignal to the broadcast reception module 220. The information signal ispreferably supplied as a baseband bit stream to the broadcast receptionmodule 220. The broadcast reception module 220 is operative to extractframing-related data bits from the information signal. The framing bitsand possibly other bits such as network layer packet bits are then usedto also extract the broadcast-data packet.

The broadcast-data packet is next routed from the broadcast receptionmodule 220 into the input of the packet filter 225. The packet filter225 is operative to selectively pass the broadcast-data packet if itmeets a criterion encoded into one or more packet-filter parameters. Thepacket-filter parameters may be derived from information supplied fromeither the network interface module 205 and/or the user input-outputmodule 210. The packet filter parameter typically includes one or morepacket-header bit masks. If the header of the broadcast-data packetmatches the bit mask, the packet is passed through the packet filter. Ifthe header of the broadcast-data packet does not match the bit mask ofthe packet-filter parameter, the packet is rejected and no output packetis produced at the packet filter output. In this way, the packet filterselectively passes the broadcast packet, passing it if it matches themask and rejecting it otherwise. The set of information deemed to be ofinterest to the user that will pass through the packet filter is calledan “information class.” Alternatively, the broadcast-data packet maycontain keywords. The keywords are compared to a list of keywordsprovided from either the network interface module 205 and/or the userinput-output device 210. If the keyword in the keyword list of thebroadcast-data packet matches a keyword list, the packet is passedthrough the packet filter. If no match is found, the packet is rejected.

A packet filter parameter is similar to a network address in that aparticular network entity will receive a packet if information containedtherein (such as a network address) matches a criterion and reject itotherwise. However, a packet filter differs from a network address inthat a packet may be filtered based on other criteria as well. Forexample a packet filter may be constructed to reject packets sent from aparticular network address, or to pass packets only marked to containspecific types of information. Hence packet filters allow information tobe selectively received based upon other criteria beside networkaddresses.

The output of the packet filter is coupled to the network interfacemodule 205. The output of the packet filter includes any broadcast-datapacket that passes through the packet filter. The packet filter outputis then used to control information flow on the first network connection112. For example, the vehicle 102 has recently entered a new city atlunchtime and the user input-output module is manipulated by a user tonavigate to a web page for restaurants. This may be done using standardtechniques by entering a network address such as a URL, by enteringkeywords into a search engine or by clicking upon a bookmark in a webbrowser display. When the user connects to the web page for restaurants,a packet filter mask is downloaded from the web page for restaurants andloaded into the packet filter. Next the network connection is placed inan inactive state whereby the restaurant page is displayed with nophysical network connection being needed. The restaurant web page isdisplayed until the vehicle enters the range of the local broadcastdomain entity 150 which broadcasts possibly a complete packet streamcomprising a plurality of different types of broadcast-data packets.Only the broadcast-data packets relating to restaurants are allowed topass through the packet filter 225. These data packets are then passedto the network interface module 205 which sends one or more applicationrequest packets to the network server 125. The network server 125 thenpreferably downloads a set of web pages containing the menus and otherinformation related to the restaurants associated with the receivedbroadcast-data packets. This downloading occurs over the networkconnection antenna 110.

Note the above system allows a user to log into a web page using knownmethods. Subsequently the system is operative to navigate to selectedweb sites, such as those associated with local restaurants, based on thephysical location of the mobile unit 105. As the mobile unit 105 entersa new local broadcast domain, a new set of associated web pages will bedownloaded. Hence the user need not click on links to find an Internetsite but rather drive about geographically to navigate the Internet.

When multiple web pages are downloaded, the browser is preferablyconfigured with a “next” button that advances a displayed image to thenext downloaded web page. The “next” button is different from the“forward” button on a conventional web browser. When the “forward”button is selected, the conventional browser goes to a previously viewedweb page from which the “back” button was clicked. In the presentinvention, the “next” button navigates to the next entry in a list ofpages that were downloaded because they met the packet-filter criterionbut were not yet viewed. Alternatively, the browser could be configuredto present a “pick list” menu from which the user can select a hyperlinkto an associated set of information.

The foregoing discussion represents a preferred mode of operation, butother preferred modes are also contemplated. For example, in anenterprise environment, a plurality of mobile units carried by vehiclesis used by a service providing fleet based within a geographical area.An on-going problem relates to finding the location of the nextcustomer. For example, before setting out for a destination, a userenters information via the input-output device 210 to establish avirtual session with a navigation web page. The user also entersinformation relating to a desired destination into the navigation webpage. Alternatively, the user may enter information to access ascheduling web page from which a worklist generated by a schedulingsystem is presented, in which case location information may bedownloaded via the network interface module 205. The navigation web pagethen downloads a packet-filter parameter. The packet filter parameterincludes a packet-header bit mask that is used to configure the packetfilter 225 to selectively pass navigation data. When the navigationsystem is enabled, the current location of the vehicle is logged and amap is displayed on the user input-output device 210. The displayed mappreferably indicates a currently best available route to thedestination. The best route is preferably determined by calculating adistance which takes into account current traffic loads, number oftraffic lights, average speed along a road and the like. When the userenters the range of a new local broadcast domain entity 150, anavigation packet is received and is selectively passed through thepacket filter and a new location is logged. More details regarding howthe present invention may be used in navigation applications isdiscussed in connection with FIG. 6.

In another preferred mode of operation, the mobile unit 105 is modifiedto include the satellite antenna 140 in lieu of the local broadcastdomain antenna 145. In this embodiment, the second link controller 215and the broadcast reception device 220 are a part of a GPS receiversystem. The GPS receiver system provides a set of geographicalpositional information to the packet filter 225. The packet filter 225now operates as a control module 225. The control module 225 isoperative to perform a comparison of the mobile unit's geographicalposition to a control parameter, and when the comparison provides anaffirmative result, the control module is operative to request a signalcomprising image information such as web pages to be transmitted. Thecontrol parameter preferably includes an interest designator indicativeof an information class. The interest designator, like the packet maskindicates the user's current interest, such as restaurants. For example,when the user enters a new locality as defined by a grid granularity,information related to the mobile unit 105's location is uploaded viathe first network connection 112 and the network server 125 downloadsthe set of restaurant web pages registered for the current locality.Preferably, the control module 225 is loaded with a list of web sitedesignators within the scope of the interest designator. With each website designator is a geographical coordinates mask. When the mobileunit's GPS coordinates are within the range of the web site's domain,either a stored web page is displayed or the virtual session isactivated and the associated web pages are downloaded.

To implement this functionality, a memory module operative to hold alist is provided within the control module 225. This memory module mayinclude a storage unit such as a large memory or a disk in someembodiments. The list includes one or more entries. Each entrypreferably includes a first field indicative of a set of applicationdata available on the network server 125 and a second field indicativeof a set of boundaries. When the mobile unit's GPS coordinates arewithin the set of boundaries, a geographical packet is sent to thenetwork server 125. Hence the same result as the previous embodiment isachieved in a different way.

In yet another embodiment of the current invention, the mobile unit'sGPS coordinates are used to designate a geographical area of interest.Boundaries of the are set based upon a selected algorithm, such as aradius about the mobile unit's current location or political boundariessuch as a state, county or city. All data for the designated area,including map data and business establishment or tourist attractiondata, for example, would be downloaded without filtering to a memorydevice. As inquiries are made by the user or the system using previouslydescribed methods, data from this stored database would be filtered bythe packet filter 225 based upon the inquiry parameters without the needto re-establish a connection to the internet pages.

An embodiment preferred for low cost systems does not involve the firstnetwork connection 112, so it does not include the network connectionantenna 110 nor the first link controller 200. In this system, the localbroadcast domain entity 150 broadcasts a packet stream containingapplication data as opposed to pointers to application data. Forexample, the local broadcast domain entity 150 transmits an HTTP(Hypertext Transfer Protocol) packet stream that includes the web pagesthemselves. As in the foregoing systems involving locally broadcastpackets, the packet filter is configured to selectively pass receivedpackets according to a filter criterion as determined by a packet headerbit mask. When the packet filter 225 selectively passes the receivedpacket stream, only the desired web pages are loaded into the browserand optionally displayed. The network connection 112 is not needed andno airtime costs are incurred. Like the previous embodiments, if thepacket filter 225 passes packets relating to more than one web page, theweb pages are loaded into a buffer that the user preferably navigatesusing the aforementioned “next” button or pick list.

Note the foregoing low cost system implements a form of a selective“electronic sign.” The user selects an area of interest and informationrelated to this area of interest is allowed to be displayed on the userinput-output device 210. In some systems of this nature, the second linkcontroller 215 may also be used to transmit an application-requestpacket such as an HTTP packet transmitted in response to a user clickinga mouse upon a hyperlink. In such systems, the mobile user transmits arequest packet indicating its interest to the local broadcast domainentity 150. The local broadcast domain entity 150 then supplies thedesired information relating to locally available resources. In otherembodiments the application-request packet is forwarded to the networkserver 125 via the second network connection 113. Down-streamapplication data is then passed to the mobile unit 105 from the networkserver 125 via the second network connection 113. While the abovediscussion focused on a web browser application, other types of userinterfaces and applications may be equivalently employed. For example,the display of the user input-output device 210 may be made of a simpleLED array or a text-only LCD display. Other display options includeprojection displays and heads-up displays. The displays themselves canbe reconfigurable and in some instances, such as is the case oftouch-screen displays, would form the whole or a part of thehuman-machine interface. In this case the application program isoperative to simply display a text message instead of a web-page image.

Another example of an electronic sign is an electronic real estate sign.When the vehicle 102 drives up in front of a property with a “for sale”sign, a set of data such as multiple listing information is transmittedto the mobile unit 105. In some systems a full set of photographs may bedisplayed within the vehicle 102. In one such example, the electronicreal estate sign transmits information packets containing price andother information. A simple radio frequency transmitter placed within awindow of the house may be used as the local broadcast domain entity150. In systems where the mobile unit 105 includes the networkconnection antenna 110, a low cost transmitter may be used to broadcastan HTTP address packet so the full set of graphical data relating to theproperty may be downloaded to the mobile unit via the network connection112. Additional filtering could be employed based upon client interests(e.g. price range, size of property desired, etc.) compared to datatransmitted from the web page or from the broadcast domain entity 150.

Referring now to FIG. 3, a method 300 of processing 105 is illustratedin flow chart form. The method 300 is carried out by an applicationprogram such as a geographical web browser running on the mobile unit105. The method 300 is designed to control the mobile unit 105 asconfigured according to FIG. 2. The method 300 represents a client-sidemethod used to communicate and interact with a server-side method asdiscussed in connection with FIG. 4. When the mobile unit 105 isimplemented in alternate embodiments, the method 300 is modified aswell. These modifications are discussed after the following discussionrelating to the mobile unit 105 as configured according to FIG. 2.

In a first step 305, a set of network application data is accessed.Application data may include, for example, web pages or databaseinformation. Application data is transmitted as application data packetsusing an application layer protocol such as HTTP. The application datais preferably downloaded from the network server 125 into the mobileunit 105 and then displayed on the user input-output device 210.Typically, the network application data involves web pages provided inhypertext mark-up language (HTML) but other forms of network applicationdata may be equivalently used. In many cases, the network applicationdata includes a packet-filter parameter. In some embodiments, to limitairtime, the first step 305 accesses the set of network application datafrom a memory or other form of storage unit accessible to the mobileunit 105. Control next passes to a second step 310 whereby informationrelated to the network application data is displayed. In a preferredembodiment, the second step 310 involves displaying a web page on a webbrowser display screen that is a part of the user input-output device210. Operational data such as the packet-filter parameter need not bedisplayed in the step.

Control next passes from the second step 310 based on a first decision315. In the first decision 315, a check is made to see whether a newpacket-filter configuration parameter has been received. Thepacket-filter parameter either enters the system as a part of thenetwork application data, is input via the user input-output device 210,or is loaded from a memory within the mobile unit 105. If thepacket-filter needs to be reconfigured, control next passes to a thirdstep 320. In the third step 320 the packet-filter parameter is loadedinto the packet filter 225. If the network application data was accessedfrom the network connection, the packet filter parameter is coupled intothe packet filter 225 via the coupling from the network interface device205. If the network application data was accessed from the userinput-output device 210, the packet filter parameter is coupled into thepacket filter 225 via the coupling from the user input-output device210. As mentioned above, in some cases the parameter may be stored in amemory and loaded into the packet filter 225 via a coupling from thememory (not shown).

If the first decision 315 evaluates negatively, or after the packetfilter has been configured in the third step 320, control next passes toset of decisions that implement a wait-for-input control flow. In theembodiment shown, control passes to a second decision 325 where a checkis made to see whether a user input has been detected. If a user inputhas been detected, control passes back to the first step 305 where theuser information is processed and possibly packetize for transmissionvia the first network connection 112. In the first step 305, newinformation may be accessed and the aforementioned steps are repeated.If the second decision 325 is negative, control passes to a thirddecision 330. In the third decision 330, a check is made to determine ifa broadcast packet has been received. If the third decision 330evaluates to the affirmative, control next passes to a fourth decision335 whereby the received packet's header or other associated informationis checked against the packet filter's bit mask, one or more keywords,or other form of interest designator as configured in the third step320. If the fourth decision 335 evaluates to the affirmative, controlpasses back to the first step 305. In the first step 305 informationderived from the packet filter output is preferably uploaded via thefirst network connection 112 and used to access a new set of networkapplication data such as web pages. If the third decision 330 evaluatesto the negative, control loops back to continue to check for a validuser input or packet filter output. If the fourth decision 335 evaluatesto the negative, control also loops back to continue to check for avalid user input or packet filter output.

In the method 300, the decisions 325, 330 and 335 are shown to beimplemented as a sequence of binary tests. A variety of equivalentcontrol flows may be employed to implement these decisions. For example,these three decisions may be implemented such that a processor enters await loop and waits for an interrupt from a user I/O device or from thepacket filter.

The method 300 implements a geographically controlled web browser whenimplemented by the remote unit 105 which moves about as illustrated inFIG. 1. For example, the first step 305 is operative to transmit one ormore hypertext transfer protocol (HTTP) request packets via the firstnetwork connection 112. The first step 305 is also operative to downloadweb page data so that it can be displayed in the second step 310 on thedisplay of the user input-output module 210. If the first networkconnection 112 is coupled to the network server 125, and the networkserver is configured to process inputs from a geographical web browser,the server will typically download a packet-filter parameter to thegeographical web browser. This packet-filter parameter tells thegeographical web browser which packets to send via the first networkconnection 112 to the network server 125. If a packet-filter parameteris sent by the network server 125 or otherwise made locally available,the third step 320 is operative to configure the packet filter. Now asthe mobile unit 105 moves from one broadcast domain to the next, onlyselected packets will pass through the packet filter and therebynavigate through a set of web pages to be displayed on the displayscreen of the mobile unit 105. Alternatively, the user may providenavigation commands and navigate the web browser using conventionalmethods such as keyboard entries, voice commands, or mouse clicks.

A geographical web browser has an added advantage of providing a newmeans for advertising locally available items such as products andservices. The user interested in a certain product or service logs intoa geographically controlled web site and configures the packet filter todisplay information related to a user's needs. In one example the mobileunit 105 enters a new city and the user is interested in finding a mallwith a particular clothing store within. As the user drives along, a webpage comes up and provides directions to the shopping mall and alsooptionally provides an inside map of the mall to include directions tothe desired store. This form of advertising helps both the consumer andthe storeowners. Similarly, if the mobile unit 105 is connected to aroad-navigation site, new map pages may be periodically downloaded basedupon the mobile unit 105's current position. If a user is using ahand-held unit, a similar type of scenario applies within the shoppingmall, for example. A geographical web browser practicing the method 300may also be used in systems where the local broadcast domain 150 issupplied by the same telecommunications cell site as used for thenetwork connection 112.

The method 300 operates with some modifications in systems when themobile unit 105 uses the satellite antenna 140 and employs the GPSreceiver in the broadcast reception module 220. In such systems, thepacket filter 225 does not filter packets but rather generates packetsfrom a table based on a filter parameter and the calculated GPSpositioning coordinates. The network server 125 or a memory preferablyprovides a set of potential pointers to web pages based on the user'scurrent interest as defined by the web page to which the mobile unit 105is connected. When the mobile unit crosses a boundary and enters aregion within a locality, if any web page pointers are loaded for thatlocality and meet the packet-filter criterion, this has the same effectas if the decisions 330 and 335 were both affirmative. The comparisonmay be performed by subtracting from a set of reference coordinates aset of coordinates representative of the geographical location of themobile unit and testing to see whether the difference is below athreshold. In some case the comparison may be made referenced to aman-made boundary such as a city limit or a cell coverage boundary. A“geographical packet” may be thereby generated to send a request for webpages or related application data to be downloaded. A “geographicalpacket” is a type of request packet sent by a geographical web browserto request application data such as web pages to be downloaded based ongeographically related events. Instead of navigating an application bymouse-clicking on an icon or a hyperlink, a mobile unit automaticallyresponds to positional and/or locally broadcast information packets. Insome cases web pages may be stored locally and accessed locally usingcaching techniques to minimize the network transactions.

The method also operates with some modifications in situations where themobile unit 105 does not include a network antenna 110 and thereby doesnot maintain the first network connection 112. In this case thedifference is the packet stream received at the antenna 145 includes theweb pages themselves. The packet filter operates similarly and onlyaccepts web pages that match the packet-filter criterion.

Referring now to FIG. 4, a method 400 practiced by the network server125 is illustrated in flow chart form. The method 400 is a server-sidemethod that interacts with a client-side method such as the method 300.Recall the network server 125 may also be implemented as the applicationprogram 130. The method 400 is designed to provide the server side of aclient-server application layer communication protocol. In this systemthe method 300 represents the client side of the connection and ispracticed by the mobile unit 105. The method 300 communicatesclient-side data packets to the network server 125 that responds withserver-side data packets as it practices the method 400.

In a first step 405, initial communications are performed with a clientsuch as the mobile unit 105 practicing the method 300. For example, in aweb browser application, the first step 405 involves receiving one ormore HTTP request-packets and responding with packets comprisingweb-page data. Next control passes based on a decision 410 that checksto see whether one or more packet-filter parameters need to bedownloaded to the client. If the decision 410 evaluates affirmatively,control passes to a second step 415 whereby the one or morepacket-filter parameters are transmitted to the client. After the secondstep 415, control next passes to a third step 420. If the decision 410evaluates negatively, control bypasses the second step 415 and passesdirectly to the third step 420. In the third step 420, a standardlygenerated or a geographically generated data application packet isreceived at the network server 125. For example, a standardly generatedapplication packet may be an HTTP packet transmitted by the method 300after the user has clicked on an Internet link. As used herein, thistype of packet is also called a “standard-request packet.” Ageographically generated HTTP request packet references a page to whichthere is not necessarily a link. Instead of selecting a link, the HTTPrequest is generated in the first step 305 of the method 300 after thedecision 335 indicates a packet has passed through the packet filter andthereby web pages need to be downloaded. A packet generated as such isone type of “geographical packet.” Another type of “geographical packet”is a request packet generated when a GPS receiver identifies the mobileunit 105 has passes into a locality and a request needs to be sent tothe network server 125 as previously discussed.

Control next passes to a fourth step 425 whereby one or more applicationpackets are transmitted in response to the request received in the thirdstep 420. Typically, the application packets transmitted in the fourthstep 425 include information relating to one or more new web pages beingdownloaded from the network server 125 to the mobile unit 105 via thefirst network connection 112. In some systems it is desirable todownload a plurality of web pages into a cache within the mobile unit105. The user then preferably uses the “next” button in the geographicalweb browser to access the plurality of downloaded pages.

Control next passes out of the fourth step 425 based upon a seconddecision 430. The second decision 430 checks to see whether the user hasselected a link directing control away from the network server 125. Ifthe second decision 430 evaluates affirmatively, control passes to afifth step 435 whereby the method is exited. If the second decision 430evaluates negatively, control passes back to the third step 420 to awaitmore standardly or geographically generated application packets.

Referring now to FIG. 5 a, a method 500 of processing within acommunication system is illustrated. In a first step 505, the localbroadcast domain entity 150 is operative to transmit a low powerbroadcast packet that is then received by the mobile unit 105. Themobile unit 105 selectively passes the received packet according to thepacket-filter parameter as configured in the third step 320 of themethod 300. Control next passes to a second step 507. In the second step507, a set of application data such as web pages are supplied by thenetwork server 125 via the first network connection 112 to the mobileunit 105. Depending on the system configuration, this step may also beperformed by the local broadcast domain entity 150 so that the web pagesor other application data is received via the local broadcast antenna145. In such systems, the web pages may be stored within the localbroadcast domain entity 150 itself, or may pass through the localbroadcast domain entity 150 after having been downloaded from thenetwork server 125 via the second network connection 113. Control nextpasses to a third step 509 practiced by the remote unit 105 whereby aset of application data such as web pages is displayed on the userinput-output device 210.

Referring now to FIG. 5 b, a method 510 of processing practiced by themobile unit 105, the local broadcast domain entity 150 and optionallythe network server 125 is illustrated in flow chart form. In the method510, the mobile unit 105 and the local broadcast domain entity 150engage in cooperative two-way communications. In a first step 515, themobile unit 105 transmits a user-interest packet via the local broadcastdomain antenna 145 to the local broadcast domain entity 150. In thismethod, the local broadcast domain entity 150 includes both atransmitter and a receiver, i.e., a transceiver. Also, the second linkcontroller 215 also includes a transceiver capable of both transmittingand receiving within the local broadcast domain. As discussedhereinafter, the user-interest packet may be encrypted using a schemesuch as public key encryption. If an encrypted user-interest packet isused, the system may employ challenge-and-reply authentication tothereby restrict access to information

Control next passes to a second step 520. While the first step 515 ispracticed by the mobile unit 105, the second step 520 is practiced bythe local broadcast domain entity 150. In the second step 520, theuser-interest packet transmitted by the mobile unit 105 in the firststep 515 is received by the local broadcast domain entity 150. Controlnext passes to a third step 525 practiced by the local broadcast domainentity 150 in response to the first step 515. In the third step 525, theuser-information packet received in the second step 520 is processed.This step involves extracting the user-information packet from a signaltransmitted from the antenna 145 and received by the local broadcastdomain entity 150. Once received, the third step 525 involves feedingthe user-information packet to a software module for evaluation. Thesoftware module checks the received user-interest packet to determinewhether or not the local broadcast domain entity 150 can supplyinformation related to a service desired by the user. The softwaremodule checks the user-interest packet and makes a decision 530. If thelocal broadcast domain entity 150 cannot supply information related to aservice desired by the mobile unit 105 as indicated by the user-interestpacket, control transfers back to the first step 515. In this case thelocal broadcast domain entity performs no action and awaits anotheruser-interest packet to be transmitted. In some systems, the localbroadcast domain entity 150 may also practice the method 500 whilewaiting for the next user-interest packet.

The user-interest packet is a packet identifying a specific userinterest. For example, the user within the vehicle 102 has a toothacheand enters the domain of the local broadcast domain entity 150. The useris thereby interested in finding a dentist. The user enters informationvia the user input-output device 210 either by mouse click, keyboardentry, or voice commands indicative of this interest. The mobile unit105 then broadcasts this information via the antenna 145 into thebroadcast domain to be received by the local broadcast domain entity150. If a local dentist is registered with the local broadcast domainentity 150, the decision 530 evaluates affirmatively and a packetrelating a locally available dentist will be transmitted back to themobile unit 150 as discussed below.

In another example the mobile unit 105 is implemented as a palm-pilot orpersonal digital assistant computer. A user carrying the palm-pilotversion of the mobile unit 105 enters a shopping mall and is looking fora silver plated picture frame under fifty dollars. Information to thiseffect is entered by the user as discussed above and a user-interestpacket is transmitted according to the first step 515. The localbroadcast domain entity 150 is preferably controlled by the shoppingmall authorities or a contracted advertising company. The steps 520 and525 then are performed to determine which stores carry the item ofinterest. If any of the stores within the shopping mall carry the itemof interest, the decision 530 evaluates affirmatively and a packet willbe transmitted back to the mobile unit 150 as discussed below.

If the decision 530 evaluates affirmatively, control next passes to afourth step 535. In the fourth step 535 a reply packet is transmittedback to the mobile unit 105 in response to the user-interest packettransmitted in the first step 510. In systems employing challenge andpassword authentication procedures, an exchange of packets may berequired between the mobile unit 105 and the local broadcast domainentity 150 before the fourth step 535 is performed. Control next passesto a fifth step 540 whereby application data such as web pages relatingto the topic of the user-interest packet is supplied to the mobile unit105. Depending on the system configuration, the fifth step 540 may beperformed by the local broadcast domain entity 150 so that theapplication data is received via the local broadcast antenna 145. Inother systems, the fifth step 540 is performed by the network server 125which downloads the application data to the mobile unit 105 via thefirst network connection 112. Control next passes to a sixth step 545practiced by the remote unit 105 whereby information related to theapplication data such as web pages is displayed on the user input-outputdevice 210.

In restricted access systems, transmissions of the method 510 may beencrypted and electronic challenge and reply authentication may be used.Challenge and reply authentication involves providing a digitalsignature so that electronic eavesdroppers cannot gain access to apassword. Public key encryption methods are preferably used to allowinformation to be disseminated using the method 510 to authorized mobileunits only.

In systems involving multiple users the local broadcast domain entitymust receive packets possibly from multiple different mobile units 105.One way to handle this type of situation is to use a method known ascarrier sense multiple access. The mobile units transmit burst datapackets infrequently and at random intervals so the channel is clearmost of the time. If two mobile units attempt to transmitsimultaneously, a data collision occurs and an error detection algorithminvolving check-bits is employed to determine the validity of a receiveddata packet. If the received data packet includes errors, it is dropped.The two mobile units attempt to retransmit their packets at random timedelays and in all probability are able to get then through on theirsecond try. Other multiple access techniques may also be used but arenot considered further herein because they are already well known in theart. These multiple access techniques include frequency divisionmultiple access, time division multiple access and code divisionmultiple access.

Referring now to FIG. 6, a method 600 to assist in road navigation isillustrated in flow chart form. The method 600 may also be practiced inoff-road situations such as shopping malls when the mobile unit 105 isimplemented, for example, as a palm-pilot. In a first step 605, themobile unit 105 transmits a set of information related to the mobileunit's desired destination to a server such as the network server 125.This information may be transmitted via the first network connection 112or may be passed through the local broadcast domain entity 150 and tothe network server 125 using the second network connection 113.

Control next passes to a second step 610 whereby the informationtransmitted in the first step 605 is received at a navigation server.The navigation server may be implemented, for example as the applicationprogram 130, or the network server 125. Within building environmentssuch as a shopping mall, a picocell architecture may be employed so thatthe Internet 122 is actually implemented as an intranet. For thepurposes of description, an embodiment whereby the navigation server isimplemented within the network server 125 will be described. Controlnext passes to a third step 615. In the third step 615 a set ofnavigation information such as directions or a digital map istransmitted from the navigation server back to the mobile unit 105.Control next passes to a fourth step 620 where the informationtransmitted to the mobile unit 105 in the third step 615 is displayed onthe user input-output device 210. This step often involves displaying animage with a digital map marking the best current route to the desireddestination as defined in the first step 605.

Control next passes to a fifth step 625. The fifth step 625 may beexecuted after a timer has timed out, a local broadcast packet haspassed through the packet filter 225, or a user input has been enteredvia the user input-output device 210. Once fifth step 625 indicates newnavigational information is needed, control passes to a sixth step 630.In the sixth step 630 new location information is received at the mobileunit 105. This location information may be obtained using a GPSreceiver, or by packet filtering local broadcast domain packets. In thenavigation application, the packet filter is set to pass navigationpackets that indicate the mobile unit 105's geographical location.

Control next passes to a seventh step 635 where the mobile unit 105'slocation information is uploaded to the navigation server. This step maybe performed in a variety of ways. For example, the mobile unit 105 mayactivate a virtual session and send the location information via thefirst network connection 112. Alternatively, the mobile unit 105 maytransmit a request packet to the local broadcast entity 150 which thentransmits the packet via the second network connection 113. After theseventh step 635, control passes back to the second step 610 where thenavigation server once again receives a current-location packet from themobile unit 105 and the foregoing steps are then repeated.

It should be noted the navigation server preferably selects a best routewhen transmitting route information to the mobile unit 105 in the thirdstep 615. The best route information is preferably calculated based ontraffic conditions and distance. For example, a set of one or moresensors is associated with local broadcast domain entity 150. Thesensors measure traffic conditions using, for example, laser continuitysensors to measure vehicle speeds. The sensor information is forwardedback to the local broadcast domain entity 150 via wireless, wireline, oroptical links. The sensor information is uploaded via the second networkconnection 113 to the network server 125 which acts as the navigationserver for the system. The navigation server preferably collects datafrom a plurality of local broadcast domains in order to keep up-to-dateinformation about road conditions and routes over a wide geographicalcoverage. The navigation server thereby calculates the best route oftravel for the mobile unit 105 for its destination and includes thisinformation transmitted in the third step 615.

Referring now to FIG. 7, a block diagram of system for navigation andtraffic management 700 is illustrated. A vehicle 102 includes a mobileunit 105, and is connected to a desired destination, 702 through aplurality of roadways, or routes 704, 706 and 708. Dispersed along theroadways, is a plurality of geographically dispersed sensors, 710. Insome instances, these geographically dispersed sensors may be deployedin a mobile unit such as the helicopter, 712, shown in FIG. 7. Thesesensors are connected to a central server 714 through wireline links 716and wireless links 718. In some cases, the sensors are combined inintermediate nodes, 720. The intermediate nodes 720 are connected to thesensors through wireline links 722 and wireless links 724. Theintermediate nodes 720 are connected to the central server 714 throughwireline links 726 and wireless links 728. A fiber optic link 726 is aspecial form of a wireline link and is illustrated in FIG. 7. Thecentral server 714 is coupled to the mobile unit through wireless link730.

In FIG. 7, the vehicle 102 is proceeding towards a destination, 702. Inthe case of a commuter, the vehicle may be heading to work, in an officeor a factory, or home. The vehicle could also be in transit betweencities or boroughs. In many instances, the operator of the vehicle has achoice among routes, 704, 706, or 708. For example and withoutlimitation, route 704 may be a busy secondary road, route 706 may be ahighway or freeway with controlled access, and route 708 may be a backroad. As is well known to most drivers, it may be the case where thehighway, 706, may be the fastest unless there is congestion or anaccident has occurred. The operator of the vehicle may desire to knowthe navigational route which will allow him to arrive in the shortesttime, or encounter a minimum of traffic. The controlling authority ofthe roadways may similarly desire to regulate traffic, encouragingtravel along alternate routes and at alternate times. The controllingauthority of the roadways is thus motivated to share traffic patternswith the operator of the vehicle whose interests are generally aligned.Further inducement may be offered through a systems of road usage feesor tolls where off peak travel or secondary route travel is monetarilyless expensive than peak or rush hour traffic, and travel alongcongested roads. It will be recognized that traffic congestionfluctuations are often unpredictable due to accidents and specialevents. The routes considered in this invention may not necessarilyinclude all routes, and it is envisioned that early application of thissystem will limit itself to major highways and interstate freeways mostprone to rush hour congestion. Heavily trafficked secondary roads willbe added to the system next.

The invention disclosed herein teaches the use of sensors, 710, whichare used to measure the road conditions, including the amount and speedor traffic flow. By example and without limitation, 710 sensors may useinfrared beam technology, pressure cables strung across the roadway,human observers, or electronic cameras such as CCD arrays. Further, anycombination of technologies may be used. The sensors 710 may bestatically mounted at an observation point, such as an intersection, oran entrance ramp, or the sensors 710 may be mounted in a mobile unitsuch as a traffic helicopter or a police car or other vehicle.

The data measured and collected by the sensors 710 are communicated inraw or processed fashion to the central server 714. The communicationlinks may generally be either wireless or wireline. Examples of wirelinelinks include, without limitation, twisted pair wire, coaxial cable,plastic and glass fiber optics, and other transmission line media.Wireless links include, without limitation, RF, microwave and IRtransmission between transmitting antennas and receiving antennas, ortransmitting sources and receiving sources. The data collected bysensors 710 may be directly transmitted to the central server 714, orthe data may be relayed to the intermediate nodes 720 for simplemultiplexing, packetizing, preprocessing and/or filtering beforeretransmission to the central server 714.

At the central server 714, the data is collected and analyzed. In asimple embodiment, information about traffic density and flow alongdifferent roadways may be organized and broadcast to the mobile unit105, to serve an announcement function similar to the existing trafficreports heard on metropolitan radio shows during rush hours.Alternatively, the analysis may entail calculating a preferred route fora vehicle 102 optimizing for distance weighted by road conditions. Inyet a third embodiment, the data collected on traffic flow and roadconditions may be used to set adaptive road tolls in order to use marketforces to regulate the operator's choice of route. The concept ofadaptive road tolls are tolls, tariffs or fees on a segment of a road orhighway that change or adapt to demand. As road space becomes more indemand, the tolls preferably adjust to regulate the use of a givensegment of road. The adaptive road tolls enable the use of an efficientfree market mechanism to allocate the increasingly scarce resource ofroad space. The adaptive road tolls represent a usage fee and provide animprovement to fixed vehicle tariffs paid, for example, by county peryear. The invention may be used to record and assess the adaptive roadtolls through link 730 and central server 714. Alternatively, paymentmay be made through existing technology such as the TollTag™ marketed byAmTech Corp.

The information collected and calculated by the central server, and insome cases, the intermediate nodes is relayed to the mobile unit 105through a wireless link 730. The wireless link 730 may be direct orthrough a plurality of local broadcast domain entities as disclosedabove.

The discussion of FIG. 7 may be used to develop an alternativeembodiment of the method 600. This alternative embodiment provides amethod for traffic management. Traffic management is a process whereby acontrolling authority provides an incentive system to alter and controltraffic flows. The alternate version of the method 600 operates asfollows. The first 605 is the same as previously discussed. The secondstep 610 is augmented with the process of receiving informationindicative of traffic conditions related to a plurality of roads andadaptively assigning a road usage toll to at least one of these roadsbased upon the received information. The step 615 is augmented by alsoelectronically providing information relating to the adaptive road usagetolls to the mobile unit. The step 620 is augmented by also showing costinformation relating to one or more routes. The digital map may showseveral routes, estimated travel times on each route, and a monetarycost for traveling on each route. In some systems, with or withoutadaptive tolls, the step 620 may also display information indicative ofthe estimated travel time associated with each route. By displayingestimated travel times and adaptive tolls, drivers can make an educateddecision as to which route to select.

The steps 625 and 630 are optional in this alternative method and thestep 635 may be practiced using a reflective means such as the TollTag™marketed by AmTech Corp. That is, the step 635 may involve thecontrolling authority probing to determine the mobile unit's locationinstead of the mobile unit transmitting this information. Alternatively,the step 635 may involve the mobile unit automatically sendinginformation related to its geographical position to continue to acceptupdated route information and to be charged accordingly. As such, thestep 610 is also modified to identify electronically (to includeoptically, with or without probing) the mobile unit's choice of roadwaysand automatically charge the mobile unit's associated vehicle based uponthe adaptive road usage toll. Instead of charging the vehicle for takingthe best route, a credit can alternatively be applied against a taxationif the vehicle selects a less desirable route and thereby lessens atraffic loading on a congested roadway.

Although the present invention has been described with reference tospecific embodiments, other embodiments may occur to those skilled inthe art without deviating from the intended scope. It should be notedwhile the foregoing examples make use of a web browser applicationwhereby application data involves HTTP packets representative of webpages, this is not required. Rather the present invention encompassesany application layer program that may send application layer packets tosupport other types of applications. Also, while the preferredembodiments employ various antennas such as the antennas 110, 140, and145, other types of transducers including ultrasonic and laser sensorsmay equivalently be used in some systems. Also, while the presentdisclosure focused on a mobile unit, geographically based web browsingmay be used by stationary systems as well. For example a central moviessite may automatically provide links to movies in a local area based onthe access number used to connect to the network. Various modules havebeen described as being implemented in software but could equivalentlybe implemented in dedicated hardware. Also, while an embodiment whereseparate telecommunication cell and local broadcast domain entitiesexist, these may be merged. Likewise, packet filters may be set up tofilter packets based on a bit mask to be compared to a packet header, orpacket filters may compare keywords or other information to informationcontained within the data field of the packet itself. In any of thetraffic management techniques, adaptive toll charges may be replacedwith an adaptive credit system. Therefore, it is to be understood thatthe invention herein encompasses all such embodiments that do not departfrom the spirit and scope of the invention as defined in the appendedclaims.

1. A method for use in a mobile unit, the method comprising:communicating with a cellular communication network according to acellular communication air interface protocol that supports wirelesspacket data connectivity; receiving an unsolicited data packet from thecellular communication network, wherein the unsolicited data packetcontains a pointer to content stored on a remote network server, and anidentifier indicative of the stored content; processing the unsoliciteddata packet by comparing the identifier to one or more storeduser-configured preference parameters to selectively generate auser-selectable notification for display to a user associated with themobile unit when the comparison generates a positive result; and uponselection of the user-selectable notification by the user, transmittingto the remote network server via the cellular communication network arequest packet including information related to the pointer in order torequest at least some of the stored content to be downloaded.
 2. Themethod of claim 1, wherein the information related to the pointercomprises an address of the remote network server, and the address isused to direct the request packet to the remote network server.
 3. Themethod of claim 2, wherein the address comprises a URL indicative of anapplication layer address of the remote network server.
 4. The method ofclaim 1, wherein the identifier comprises an indication of at least oneinformation class.
 5. The method of claim 1, wherein the unsoliciteddata packet contains an address field to address the unsolicited datapacket to the mobile unit.
 6. The method of claim 1, wherein theunsolicited data packet is a broadcast packet that can be received andprocessed by any of one or more mobile units.
 7. A method for use in amobile unit, the method comprising: communicating with a cellularcommunication network according to a cellular communication airinterface protocol that supports wireless packet data connectivity;receiving an unsolicited data packet from the cellular communicationnetwork, wherein the unsolicited data packet contains data content andan identifier indicative of the data content; processing the unsoliciteddata packet by comparing the identifier to one or more storeduser-configured preference parameters to selectively block the datacontent when the comparing generates a negative result; and displayinginformation related to the data content to a user associated with themobile unit when the comparing generates a positive result.
 8. Themethod of claim 7, wherein the data content is hierarchicallyselectable, and upon selection of the information related to the datacontent by the user, more of the data content is displayed to the user.9. The method of claim 7, wherein the information related to the datacontent comprises at least a portion of the data content itself.
 10. Themethod of claim 7, wherein the unsolicited data packet further containsan address field to address the unsolicited data packet to the mobileunit.
 11. The method of claim 7, wherein the unsolicited data packet isa broadcast packet that can be received and processed by any of one ormore mobile units.
 12. A method for use in a mobile unit, the methodcomprising: communicating with a public access wireless local areanetwork station, wherein the public access wireless local area networkstation comprises a gateway connection to an Internet and wirelesslycommunicates according to a low-power air interface protocol thatsupports wireless packet data connectivity; receiving an unsoliciteddata packet from the public access wireless local area network station,wherein the unsolicited data packet contains a pointer to content storedon a remote network server, and an identifier indicative of the storedcontent; processing the unsolicited data packet by comparing theidentifier to one or more stored user-configured preference parametersto selectively generate a user-selectable notification for display to auser associated with the mobile unit when the comparison generates apositive result; and upon selection of the user-selectable notificationby the user, transmitting to the remote network server via the publicaccess wireless local area network station a request packet includinginformation related to the pointer in order to request further relatedinformation to be downloaded.
 13. The method of claim 12, wherein theinformation related to the pointer comprises an address of the remotenetwork server, and the address is used to direct the request packet tothe remote network server.
 14. The method of claim 12, wherein theaddress comprises a URL indicative of an application layer address onthe remote network server.
 15. The method of claim 12, wherein theidentifier comprises an indication of at least one information class.16. The method of claim 12, wherein the unsolicited data packet furthercontains an address field to address the unsolicited data packet to themobile unit.
 17. The method of claim 12, wherein the unsolicited datapacket is a broadcast packet that can be received and processed by anyof one or more mobile units.
 18. A method for use in a mobile unit, themethod comprising: communicating with a public access wireless localarea network station, wherein the public access wireless local areanetwork station comprises a gateway connection to an Internet andwirelessly communicates according to a low-power air interface protocolthat supports wireless packet data connectivity; receiving anunsolicited data packet from the public access wireless local areanetwork station, wherein the unsolicited data packet contains anidentifier and a data content and an identifier Vindicative of the datacontent; processing the unsolicited data packet by comparing theidentifier to one or more stored user-configured preference parametersto selectively block the data content when the comparing generates anegative result; and displaying information related to the data contentto a user associated with the mobile unit when the comparing generates apositive result.
 19. The method of claim 18, wherein the data content ishierarchically selectable, and upon selection of the information relatedto the data content by the user, more of the data content is displayedto the user.
 20. The method of claim 18, wherein the information relatedto the data content comprises at least a portion of the data contentitself.
 21. The method of claim 18, wherein the unsolicited data packetfurther contains an address field to address the unsolicited data packetto the mobile unit.
 22. The method of claim 18, wherein the unsoliciteddata packet is a broadcast packet that can be received and processed byany of one or more mobile units.
 23. A method for use in a mobile unit,the method comprising: communicating via a first wireless accessconnection with a remote voice-telephony endpoint, wherein the firstwireless access connection is a circuit switched cellular communicationair interface channel supplied by a cellular communications network;receiving from a local broadcast domain entity an unsolicited datapacket having one or more packet fields, wherein the unsolicited datapacket indicates to the mobile unit that the mobile unit is in radiocontact with the broadcast domain entity, wherein the broadcast domainentity provides the mobile unit with a second wireless access connectionthat uses a wireless packet switched data air interface protocol that isdifferent from the circuit switched cellular communication air interfaceprotocol; processing the unsolicited data packet by comparing the one ormore packet fields to stored information; and at least partially inresponse to an affirmative result of the comparing, switching a lowerlayer of a protocol stack from the first wireless access connection tothe second wireless access connection; a first upper layer function inthe mobile unit communicating with a remote network server via the firstwireless access connection before the switching and communicating withthe remote network server via the second wireless access connectionafter the switching; and a second upper layer function in the mobileunit communicating with the remote voice-telephony endpoint via thefirst wireless access connection before the switching and communicatingwith the remote voice-telephony endpoint via the second wireless accessconnection after the switching; wherein the second upper layer functionincludes at least one application layer voice telephony processingfunction.
 24. The method of claim 23, wherein the broadcast domainentity comprises a bi-directional wireless packet data interface and aconnection to an Internet.
 25. The method of claim 24, wherein thebroadcast domain entity is a wireless local area network (LAN) accessstation.
 26. The method of claim 25, wherein the wireless local areanetwork (LAN) access station is implemented using a low-power radiofrequency channel with a range less than 100 feet.
 27. The method ofclaim 23, wherein at least one of the first and second wireless accessconnections carries a voice telephony call with the remote endpoint inaccordance with a packetized voice format.
 28. The method of claim 27,wherein at least a portion of the packetized voice format complies withat least a portion of an H.323 protocol suite.
 29. The method of claim23, wherein before the switching the first wireless access connection isused as a first physical layer to support a virtual communicationsession, and after the switching, the second wireless access connectionis used as a second physical layer to support the virtual communicationsession.
 30. The method of claim 29, wherein the remote server is avirtual presence server, and the remote voice telephony endpoint is aremote caller who called into the virtual presence server and had avoice telephony call forwarded to the mobile unit using an H.323 packetvoice format.